package com.yuanchu.search.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 订单记录表
 * 
 * @author adan
 * @email 2028038953@gmail.com
 * @date 2023-12-19 20:57:22
 */
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@Data
@TableName("yoshop_order")
public class YoshopOrderEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 订单ID
	 */
	@TableId
	private Integer orderId;
	/**
	 * 订单号
	 */
	private String orderNo;
	/**
	 * 商品总金额(不含优惠折扣)
	 */
	private String totalPrice;
	/**
	 * 订单金额(含优惠折扣)
	 */
	private String orderPrice;
	/**
	 * 优惠券ID
	 */
	private Integer couponId;
	/**
	 * 优惠券抵扣金额
	 */
	private String couponMoney;
	/**
	 * 积分抵扣金额
	 */
	private String pointsMoney;
	/**
	 * 积分抵扣数量
	 */
	private Integer pointsNum;
	/**
	 * 实际付款金额(包含运费)
	 */
	private String payPrice;
	/**
	 * 后台修改的订单金额（差价）
	 */
	private Object updatePrice;
	/**
	 * 买家留言
	 */
	private String buyerRemark;
	/**
	 * 支付方式(10余额支付 20微信支付)
	 */
	private Integer payType;
	/**
	 * 付款状态(10未付款 20已付款)
	 */
	private Integer payStatus;
	/**
	 * 付款时间
	 */
	private String payTime;
	/**
	 * 配送方式(10快递配送)
	 */
	private Integer deliveryType;
	/**
	 * 运费金额
	 */
	private String expressPrice;
	/**
	 * 物流公司ID
	 */
	private Integer expressId;
	/**
	 * 物流公司
	 */
	private String expressCompany;
	/**
	 * 物流单号
	 */
	private String expressNo;
	/**
	 * 发货状态(10未发货 20已发货)
	 */
	private Integer deliveryStatus;
	/**
	 * 发货时间
	 */
	private String deliveryTime;
	/**
	 * 收货状态(10未收货 20已收货)
	 */
	private Integer receiptStatus;
	/**
	 * 收货时间
	 */
	private String receiptTime;
	/**
	 * 订单状态(10进行中 20取消 21待取消 30已完成)
	 */
	private Integer orderStatus;
	/**
	 * 赠送的积分数量
	 */
	private Integer pointsBonus;
	/**
	 * 订单是否已结算(0未结算 1已结算)
	 */
	private Integer isSettled;
	/**
	 * 微信支付交易号
	 */
	private String transactionId;
	/**
	 * 是否已评价(0否 1是)
	 */
	private Integer isComment;
	/**
	 * 订单来源(10普通订单)
	 */
	private Integer orderSource;
	/**
	 * 来源记录ID
	 */
	private Integer orderSourceId;
	/**
	 * 来源客户端 (APP、H5、小程序等)
	 */
	private String platform;
	/**
	 * 用户ID
	 */
	private Integer userId;
	/**
	 * 是否删除
	 */
	private Integer isDelete;
	/**
	 * 商城ID
	 */
	private Integer storeId;
	/**
	 * 创建时间
	 */
	private String createTime;
	/**
	 * 更新时间
	 */
	private String updateTime;

	@TableField(exist = false)
	private List<YoshopOrderGoodsEntity> goods;

	@TableField(exist = false)
	@JsonProperty("state_text")
	private String stateText;

	// @JsonInclude(JsonInclude.Include.NON_NULL)
	// @TableField(exist = false)
	// private YoshopUserEntity user;
	// @JsonInclude(JsonInclude.Include.NON_NULL)
	// @TableField(exist = false)
	// private YoshopOrderAddressEntity address;

}
